### Accounts

| Function name | Description | Type | Source code |
| - | - | - | - |
| `fetch-accounts` | Fetch account list and user information from Basecamp | [Action](/guides/use-cases/actions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/basecamp/actions/fetch-accounts.ts) |

### Projects

| Function name | Description | Type | Source code |
| - | - | - | - |
| `fetch-projects` | Fetch all projects from Basecamp | [Action](/guides/use-cases/actions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/basecamp/actions/fetch-projects.ts) |

### Todolists

| Function name | Description | Type | Source code |
| - | - | - | - |
| `fetch-todolists` | Fetch all todolists in a project.Fetch your projects via the fetch-projects action, then locate the project's dock item where "name": "todoset". The id there is your todoSetId. | [Action](/guides/use-cases/actions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/basecamp/actions/fetch-todolists.ts) |

### Todos

| Function name | Description | Type | Source code |
| - | - | - | - |
| `create-todo` | Create a new to-do in a specific project + list. Fetch your todolists via the fetch-todolists action. Identify the list you want to add the todo to and retrieve the id from there. | [Action](/guides/use-cases/actions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/basecamp/actions/create-todo.ts) |
| `todos` | Syncs to-dos from Basecamp for the specified projects. Example of a metadata input Example: `{ projects: [ { projectId: 1234, todoSetId: 9999 }, ... ] }` | [Sync](/guides/use-cases/syncs) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/basecamp/syncs/todos.ts) |